package com.justgame.project.cloud.gateway.provider;

import java.util.ArrayList;
import java.util.List;

/**
 * 接口权限配置
 * @author ZhouWeiBo
 * @create 2022/3/15
 */
public class AuthProvider {
    public static final String TOKEN_KEY = "Authorization";
    /**
     * 无需验证权限的URL白名单
     */
    private static final List<String> WHITE_LIST_URL = new ArrayList<>();
    /**
     * 需要验证权限的URL名单
     */
    private static final List<String> AUTH_LIST_URL = new ArrayList<>();


    /*
     * 初始化数据
     */
    static {
        /* 白名单 */
        WHITE_LIST_URL.add("/sys/f-info/sys/f-info/real-delete");
        WHITE_LIST_URL.add("/**");


        /* 权限验证名单 */
        AUTH_LIST_URL.add("/sys/admin/**");
        AUTH_LIST_URL.add("/sys/station-order/**");
        AUTH_LIST_URL.add("/sys/regain-user-info");
        AUTH_LIST_URL.add("/sys/home-banner/list");
        AUTH_LIST_URL.add("/sys/logout");
        AUTH_LIST_URL.add("/sys/change-email");
        AUTH_LIST_URL.add("/sys/f-info/**");
        AUTH_LIST_URL.add("/sys/dict/save");
        AUTH_LIST_URL.add("/sys/dict/update");
        AUTH_LIST_URL.add("/just/game-info/update");
        AUTH_LIST_URL.add("/art/page/usr/**");
        AUTH_LIST_URL.add("/sys/station-order/**");

        AUTH_LIST_URL.add("/sys/**/update**");
        AUTH_LIST_URL.add("/sys/**/save**");
        AUTH_LIST_URL.add("/sys/**/insert**");
        AUTH_LIST_URL.add("/sys/**/delete**");

        AUTH_LIST_URL.add("/art/**/update**");
        AUTH_LIST_URL.add("/art/**/save**");
        AUTH_LIST_URL.add("/art/**/insert**");
        AUTH_LIST_URL.add("/art/**/delete**");

        AUTH_LIST_URL.add("/just/**/update**");
        AUTH_LIST_URL.add("/just/**/save**");
        AUTH_LIST_URL.add("/just/**/insert**");
        AUTH_LIST_URL.add("/just/**/delete**");

        AUTH_LIST_URL.add("/online/**/update**");
        AUTH_LIST_URL.add("/online/**/save**");
        AUTH_LIST_URL.add("/online/**/insert**");
        AUTH_LIST_URL.add("/online/**/delete**");
    }


    /**
     * 获取无需验证权限的URL白名单
     * @return
     */
    public static List<String> getWhiteListUrl(){
        return WHITE_LIST_URL;
    }

    /**
     * 获取需要验证权限的URL名单
     * @return
     */
    public static List<String> getAuthListUrl(){
        return AUTH_LIST_URL;
    }

}
